﻿/*
创建人：zhangrj
日期：2022-02-28
描述：工装工艺流程数据上传并保存页面js
*/
var page = {
    rootPath: getRootPath(), //网站根路径
    parentID: "", //父窗体ID（多工作薄预览使用）
    init: function () {
        parent.window.returnValue = null;
        page.bind();
        page.initData();
    },
    //绑定页面事件
    bind: function () {
        //列表加载
        $("#gdRecordInfo").datagrid({
            columns: [[
		         { field: 'ProductName', title: '件号', width: 150 },
                 { field: 'Description', title: '名称', width: 150 },
                 { field: 'Materialtrademark', title: '材料牌号', width: 150 },
                 { field: 'MaterialSpecification', title: '材料规格', width: 150 },
                 { field: 'MaterialSize', title: '毛料数量', width: 60 },
                 { field: 'PlannedQty2', title: '备件', width: 50 },
                 { field: 'WorkflowName', title: '工艺规程', width: 180 },
                 { field: 'WorkflowRev', title: '工艺版本', width: 60 },
                 { field: 'SpecNo', title: '工序号', width: 100 },
                 { field: 'SpecRev', title: '工序版本', width: 60 },
                 { field: 'OpDesc', title: '工序名', width: 120 },
                 { field: 'SpecDesc', title: '工序内容', width: 200 },
                 { field: 'UnitTime', title: '单位工时', width: 100 },
                 { field: 'ContainerName', title: '批次号', width: 120 },
                 { field: 'Qty', title: '数量', width: 80 }
	           ]]
        });
        //保存按钮
        $("#btnSave").on("click", function () {
            page.saveData();
        })
    },

    //初始化页面数据
    initData: function () {
        page.parentID = getParam("parentDiv");
        if (page.parentID === undefined || page.parentID === "") {
            page.bindWorkCenter();
            page.uploadExcel();
            return;
        }
        var pupDatas = parent.$("#" + page.parentID).dialog('options').poPupData;
        if (pupDatas === undefined || pupDatas === null || pupDatas === {}) {
            displayMessage("数据丢失", false);
            return;
        }
        if (pupDatas.workcenter === undefined || pupDatas.workcenter.length === 0) {
            displayMessage("工区数据未选择或者丢失", false);
            return;
        }
        $.ajax({
            type: "Post",
            url: page.rootPath + '/Ashx/GongZhuangContainer/GZBaseDataHandler.ashx',
            data: { action: "ViewWorkflowExcel", fileName: pupDatas.filename, fileIndex: pupDatas.findex },
            cashe: false,
            beforeSend: function () {
                $.messager.progress({ text: '', msg: '处理中...' });
            },
            success: function (data) {
                $.messager.progress('close');
                var result = JSON.parse(data);
                if (result.Result) {
                    if (result.ReturnData) {
                        if (!confirm("工艺已存在，是否升级工艺版本？")) {
                            return;
                        }
                    }
                    $("#gdRecordInfo").datagrid('loadData', { rows: result.DBTable });
                    //绑定工区
                    $("#selWorkCenter").combobox({
                        valueField: 'WORKCENTERID',
                        textField: 'WORKCENTERNAME',
                        panelHeight: 200,
                        data: pupDatas.workcenter, //下拉数据
                        value: pupDatas.workcenter[0].WORKCENTERID
                    });
                }
                displayMessage(result.Message, result.Result);
            },
            error: function (XMLHttpRequest, textStatus, errorThrown) {
                $.messager.progress('close');
                displayMessage(XMLHttpRequest.responseText, false);
            }
        });
    },
    //初始化绑定工区
    bindWorkCenter: function () {
        $.ajax({
            type: "Post",
            url: page.rootPath + '/Ashx/GongZhuangContainer/GZBaseDataHandler.ashx',
            data: { action: "GetWorkCenterList" },
            cashe: false,
            beforeSend: function () {
                $.messager.progress({ text: '', msg: '处理中...' });
            },
            success: function (data) {
                $.messager.progress('close');
                var result = JSON.parse(data);
                if (result.Result) {
                    //绑定工区
                    $("#selWorkCenter").combobox({
                        valueField: 'WORKCENTERID',
                        textField: 'WORKCENTERNAME',
                        panelHeight: 200,
                        data: result.DBTable //下拉数据
                    });
                }
            },
            error: function (XMLHttpRequest, textStatus, errorThrown) {
                $.messager.progress('close');
                displayMessage(XMLHttpRequest.responseText, false);
            }
        });
    },
    //上传excel
    uploadExcel: function () {
        var uploader = WebUploader.create({
            // swf文件路径
            swf: page.rootPath + "/Content/webuploader/Uploader.swf",
            // 文件接收服务端。
            server: page.rootPath + '/Ashx/GongZhuangContainer/GZBaseDataHandler.ashx',
            // 内部根据当前运行是创建，可能是input元素，也可能是flash.
            pick: '#picker',
            // 不压缩image, 默认如果是jpeg，文件上传前会压缩一把再上传！
            resize: false,
            formData: {
                action: "UploadWorkflowExcel"
            },
            accept: {
                title: 'Excel',
                extensions: 'xlsx,xls',
                mimeTypes: 'excel/*'
            },
            multiple: false
        });
        //上传
        $('#ctlBtn').on("click", function () {
            clearEasyuiDataGrid("gdRecordInfo");
            var filename = $('#txtExcelFileName').textbox('getValue');
            if (filename == "") {
                displayMessage("未选择文件", false);
            } else {
                $('#ctlBtn').attr("disabled", "disabled"); //禁用按钮
                $.messager.progress({ text: '', msg: '处理中...' });
                uploader.upload();
            }
        });
        // 当有文件被添加进队列的时候，每次只传一个文件
        uploader.on('fileQueued', function (file) {
            if ($('#txtExcelFileId').val() != "") {
                var f = uploader.getFile($('#txtExcelFileId').val()); //找到上一次队列中的文件
                uploader.removeFile(f, true); //删除掉上一次队列中的文件
            }
            $('#txtExcelFileName').textbox('setValue', file.name);
            $('#txtExcelFileId').val(file.id);
        });
        //上传成功
        uploader.on('uploadSuccess', function (file, response) {
            displayMessage("", true);
            $.messager.progress('close');
            var result = response;
            if (result.Result) {
                if (result.ReturnData) {
                    if (confirm("工艺已存在，是否升级工艺版本？")) {
                        $("#gdRecordInfo").datagrid('loadData', { rows: result.DBTable });
                    }
                } else {
                    $("#gdRecordInfo").datagrid('loadData', { rows: result.DBTable });
                }
            }
            displayMessage(result.Message, result.Result);
            var f = uploader.getFile(file.id); //找到上传的文件
            uploader.removeFile(f, true); //将其从队列中的删掉
            $('#txtExcelFileName').textbox('setValue', "");
            $('#txtExcelFileId').val("");
            $('#ctlBtn').removeAttr("disabled"); //恢复按钮
        });
        //上传失败
        uploader.on('uploadError', function (file) {
            $.messager.progress('close');
            displayMessage("上传失败", false);
            var f = uploader.getFile(file.id); //找到上传的文件
            uploader.removeFile(f, true); //将其从队列中的删掉
            $('#txtExcelFileName').textbox('setValue', "");
            $('#txtExcelFileId').val("");
            $('#ctlBtn').removeAttr("disabled"); //恢复按钮
        });
    },
    //保存数据
    saveData: function () {
        clearMessage();
        $('#btnSave').linkbutton('disable'); //禁用按钮
        var datas = $("#gdRecordInfo").datagrid('getRows');
        if (datas.length == 0) {
            displayMessage2("没有保存的数据", false, ["btnSave"]);
            return;
        }
        var workCenterName = $("#selWorkCenter").combobox("getText");
        var workCenterID = $("#selWorkCenter").combobox("getValue");
        if (isNullOrWhiteSpaceStr(workCenterID)) {
            displayMessage2("没有选择工区", false, ["btnSave"]);
            return;
        }
        $.ajax({
            type: "Post",
            url: page.rootPath + '/Ashx/GongZhuangContainer/GZBaseDataHandler.ashx',
            data: { action: "SaveWorkflowDatas", recordDt: JSON.stringify(datas), workCenterName: workCenterName, workcenterID: workCenterID },
            cashe: false,
            beforeSend: function () {
                $.messager.progress({ text: '', msg: '处理中...' });
            },
            success: function (data) {
                $.messager.progress('close');
                var result = JSON.parse(data);
                clearEasyuiDataGrid("gdRecordInfo");
                if (result.Result) {
                    if (page.parentID !== undefined && page.parentID !== "") {
                        parent.window.returnValue = { message: "保存成功", result: true };
                        parent.$("#" + page.parentID).dialog("close");
                    }
                }
                displayMessage2(result.Message, result.Result, ["btnSave"]);
            },
            error: function (XMLHttpRequest, textStatus, errorThrown) {
                $.messager.progress('close');
                displayMessage2(XMLHttpRequest.responseText, false, ["btnSave"]);
            }
        });
    }
};
page.init();
$(document).ready(function () {
    $('.webuploader-pick').css("padding", "3.5px 5px"); //改变上传按钮样式
});